Integrated diagnostic system

ABSTRACT

An integrated diagnostic system includes interface connectors to connect to a plurality of instruments/instrument modules, including engine analyzers, gas analyzers, oscilloscopes, scanners, network connections, and/or other desired peripheral modules. These modules advantageously interface to the system through diverse parts, connections and with various protocols. The system may connect to a network, wired or wireless, for interfacing among processors and modules, and with an internet connection for interaction with remote resources including databases and expert systems.

RELATED APPLICATIONS

This application claims the benefit of the filing date of co-pendingprovisional applications 60/289,116 filed May 8, 2001; 60/291,622 filedMay 18, 2001; 60/354,204 filed Feb. 6, 2002, all incorporated herein byreference in their entireties.

FIELD OF THE INVENTION

A system diagnostic tool and, more specifically, an integrated handhelddiagnostic system.

BACKGROUND OF THE INVENTION

In order to conduct a diagnosis on a machine or system, numerousdiagnostic tools and testers must be used. For example, when conductinga vehicle diagnosis, a gas analyzer may be used for analyzing gasgenerated by a vehicle to determine the operation status of the engine;a scanner for connecting to a vehicle computer for interfacing andreceiving self-diagnostic codes; an engine analyzer to obtain engineoperational status, oscilloscopes for observing signal waveformsgenerated by different vehicle components, such as an alternator and/ora battery; and a battery tester to determine the health/charge status ofthe battery.

Different vehicle models/makes may need different diagnostic tools andtesters. Every time a vehicle diagnosis is to be performed on adifferent make/model, diagnostic tools/testers used in a previoustest/diagnosis must be removed from the working space, and newdiagnostic tools/testers corresponding to the new vehicle under testhave to be brought in and installed. The removal and reinstallation ofdiagnostic tools/testers consume a lot of time, with reduced operationefficiency and productivity. In addition, numerous signal linesconnecting between the diagnostic tools/testers and the vehicle createhazards and inconvenience.

Therefore, there is a need for a highly integrated diagnostic systemthat is portable, easy to carry and use, and highly flexible andexpandable. There is also a need to implement a central hub forreceiving signals from various signal sources and make the signalsavailable for observation on a display. Another need exists for amodularized diagnostic system that is easy to accommodate differentsystem makes/models.

SUMMARY OF THE INVENTION

An integrated diagnostic system includes interface connectors to connectto a plurality of instruments/instrument modules, including engineanalyzers, gas analyzers, oscilloscopes, scanners, network connections,and/or other desired peripheral modules. These modules advantageouslyinterface to the system through diverse parts, connections and withvarious protocols. The system may connect to a network, wired orwireless, for interfacing among processors and modules, and with aninternet connection for interaction with remote resources includingdatabases and expert systems.

In accord with one aspect, the integrated data processing systemcomprises a processor for processing data, a first control key formoving a user selection in a first direction on a display, a secondcontrol key for moving the user selection in a second direction on thedisplay, a data storage device bearing instructions. The instructionsare configured to cause the system upon execution of the instructions bythe processor to display a plurality of function buttons on the display,wherein one of the function buttons represents a plurality of functions.Then, the system receives a first signal representing depression of thefirst control key moving the user selection to the function button thatrepresents the plurality of functions. The system then receives a secondsignal representing depression of the second control key when the userselection being moved to the function button representing the pluralityof functions. In response to each depression of the second control key,the system displays one of the plurality of functions at a time.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate exemplary embodiments.

FIG. 1 is a system overview of the integrated diagnostic system.

FIG. 2 shows exemplary connections between the instruments/instrumentmodules and the integrated diagnostic system using USB standard

FIG. 3 shows a data flow during data acquisition from an instrumentmodule.

FIG. 4 shows a first exemplary user interface with signals provided byan oscilloscope module.

FIG. 5 shows a second exemplary user interface with signals provided byan oscilloscope module.

FIGS. 6A-6C show a flow chart of an exemplary navigation methodology.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

System Overview

FIG. 1 shows a system architecture upon which an exemplary embodiment isimplemented. The embodiment uses an automotive service system forillustrative purpose only. Similar principles and obvious variations mayapply to various types of systems, such as motorcycles, airplanes,powerboats, machines, equipment, etc.

Integrated diagnostic system 100 is a data processing system capable ofprocessing data. The integrated diagnostic system may be a portablepersonal computer configured to operate with operating systems, such asLinux, Windows CE, or the like. The integrated diagnostic system 100includes interface connectors for connecting to and communicating withnumerous instruments/instrument modules, such as a gas analyzer module104, a scanner module 106, an oscilloscope module 108 and other optionalinstrument modules 110, 112. The system has a display 101, such as anLCD display, and may optionally have a network interface for connectingto a remote computer 200 and/or a database 102 via a network connection700. The network connection is either wire or wireless, or both. Theintegrated diagnostic system may connect to other data processing systemvia the network connection 700. The data processing systems may accessdata from the integrated diagnostic system.

Instrument Modularization

The integrated diagnostic system uses a modularized design for workingwith different instrument modules. The integrated diagnostic system maycommunicate with other stand-alone instrument via proper interfacemodules. The modularized design allows changing functionality bychanging modules connected to the integrated diagnostic system.Instrument modules are designed according to the requirements for itsspecific function, and each includes specific modularizationrequirements appropriate to that module. Proper software applicationsare needed to work with the instrument modules. Communication betweenthe system and modules can be achieved by using existing communicationstandards, such as USB (Universal Serial Bus) connectors, serial ports,parallel ports, or the like. Proprietary interface protocols/sockets maybe used if desired.

When developing in the Microsoft Windows environment, coding techniques,such as COM (Active-X) components and objects, may be used to createsoftware applications. Applications themselves should expose an objectmodel to allow other applications to treat them as servers.

When developing outside the Windows environment without the benefit ofCOM, similar environment specific facilities should be used to achievemodularization. API level function call interfaces should be exposedthrough shared libraries if possible. If shared libraries are notavailable link libraries should be used. If neither of these facilitiesis available, separate source files can be used to achieve a minimallevel of modularity. Beneath these function call interfaces appropriateOS specific facilities should be used to accomplish the desiredfunctions.

Client-Server Architecture

The integrated diagnostic system separates data providers (servers) fromdata consumers (clients). This modularization applies to both hardwareand software components.

a. Client—Server Communication

The logical separation of functions between data servers and applicationclients is appropriate both within a single computer and when the serverand client reside on different computers. When clients and servers bothoperate in a Windows environment the COM interfaces may be used forcommunication regardless of whether the server and client are on thesame machine or connected via a TCP-IP network. These protocols will beimplemented using TCP-IP networking when the devices are connected withEthernet. Operating system specific transports may be used forcommunications between clients and servers within the same box.

Servers connected to the client via USB or proprietary networks areintegrated by first incorporating the necessary OS drivers then buildingan appropriate user mode interface to the application through thevehicle communications system.

b. Instrument Servers

Instrument modules obtain information about a vehicle's condition bymonitoring certain parameters obtained either by direct measurement orfrom controllers on the vehicle. If the integrated diagnostic system isconnected to other data processing systems, the information may beaccessible by those data processing systems in a normalized format.Therefore, each instrument module, combined with the integrateddiagnostic system, serves as a data server providing requested data orinformation to other data processing systems. For example, a data servermight supply streamed data at the rate provided by the vehicle, orinclude statistics such as min, max, and average value with an option toprovide the buffered data upon a monitored or manual trigger event.

(1) Common Instrument Interfaces

Although vehicle measurements can be obtained from a variety of sources,all of these sources communicate with diagnostic applications usingsimilar interfaces. Instrument/instrument modules coupled to theintegrated diagnostic system communicate with their clients through astream of data similar to a TCP socket connection or RS232 connection. Astandard packet protocol provides a messaging interface on top of thisconnection.

Although different instruments/instrument modules with differentcapabilities may require some special messaging capabilities, asignificant number of the functions are common between all instruments.These common functions should be invoked using standard interfaces. Theapplication level protocols developed for integrated diagnostic systemshould be structured to support a standard set of messages for commonfunctions and an additional set of messages that are specific to thedevice.

The architecture includes a standard mechanism for locating andidentifying the vehicle data servers that may be available at runtime.

c. Application Specific Clients

A variety of clients will connect to the integrated diagnostic system inorder to obtain data and perform specific tasks based on the dataacquired to solve different problems according to the user's needs, suchas fixing idle rough idle.

The Instrument Network

The integrated diagnostic system obtains vehicle measurement data from avariety of devices such as the Scanner Module, Oscilloscope Module, GasAnalyzer Module, or Engine Analyzer module. The instrument modules maybe connected to the integrated diagnostic system Display throughWireless, TCP-IP connections, USB connections, or through theproprietary Plug-in interface. FIG. 2 shows exemplary connectionsbetween the instruments/instrument modules and the integrated diagnosticsystem using USB standard.

Diagnostic processes and displays must be associated with specificmeasurement data obtained from the diagnostic instruments. The dataelements and measurements made available through instruments areidentified by a numeric id. Each instrument determines the specificmeaning, format, and context of each id. Some instruments may requireidentification of specific vehicle characteristics before some or alldata elements may be defined. Generally the combination of aninstrument, vehicle, and data id is sufficient to determine allnecessary information related to that data element such as type, format,units, etc.

a. The Instrument Network

Since numerous instruments/instrument modules may be connected to theintegrated diagnostic system diagnostic unit through a variety ofphysical interfaces, the instruments/instrument modules form aninstrument network connecting to the integrated diagnostic system.

A software application loaded during operation of the integrateddiagnostic system determines what instruments/modules are available onthe instrument network for use by a diagnostic application running onthe integrated diagnostic system or a data processing system connectedto the integrated diagnostic system. The software application reportsthe status of all modules connected to the integrated diagnostic system,and handles requests for data from a specific device connected to thenetwork.

b. Instrument Identification

Since numerous of devices may be available on the instrument network, aprocess for identifying the available devices and selecting theappropriate device must be established, such as those adopted in the USBstandards. Devices may be identified by a specific id or serial number,instrument type (scanner, oscilloscope, gas analyzer) or instrumentmodule (scanner module or scanner smart cable).

c. Time Stamping

Since unpredictable time delays may be involved in data transmission,certain data packets will need to be time stamped by theinstruments/instrument modules. This time stamp provides relative timeinformation. Data sequence may be rearranged based on the time stamps.During connection establishment, and at other times as may beappropriate, the integrated diagnostic system and theinstruments/instrument modules will synchronize their clocks to takeinto account network delays.

FIG. 3 shows a data flow during data acquisition from an instrumentmodule.

d. Instrument Network Gateway and Pass-Through

The integrated diagnostic system may embody some characteristics of ameasurement device. Specifically the integrated diagnostic system mayprovide facilities through its communication interface to allow a dataprocessing system connected to it to retrieve and display measurementsfrom the vehicle through an instrument module, such as the ScannerModule. A data processing system, such as a PC, may connect to theintegrated diagnostic system Unit through an RS232 cable or a networkconnection, or the like. The integrated diagnostic system will need topass the data requests on to the scanner module and return the resultsback to the data processing system.

Rather than creating or adapting a new suite of protocols to addressthis requirement the Integrated diagnostic system display may providefor identifying itself as an instrument device with the capabilities ofits contained modules and USB instruments that it is capable ofreflecting. Requests to it can then be routed through its InstrumentNetwork Manager and the results returned to the PC.

The Instruments/Instrument Modules

Although each instrument/instrument module connected to the integrateddiagnostic system will be designed according to the requirements for thespecific function they will perform, the instruments/instrument modulesgenerally include the following components:

-   -   1. Interface to the Instrument Network    -   2. Message Parser and Function Dispatcher    -   3. Data Acquisition Functions    -   4. Data Buffering Functions sufficient to handled full duplex        communication and continuous data gathering. Data over sampling,        filtering, and glitch detection functions should be included as        appropriate.    -   5. Data Normalization and Message Formatting Functions    -   6. Response Transmission Functions    -   7. Device Identification Functions    -   8. Clock Synchronization Functions    -   9. Device Maintenance Functions (Firmware Update)        The message parser receives a message from the instrument        network and invokes the appropriate function based on the        message content. After completing the requested action, the        results and response data will be formatted and sent back to the        client through the instrument network. When vehicle data is to        be obtained, the instruments/instrument modules will interface        with the vehicle to acquire the appropriate measurements. Once        the measurements have been taken, the data are time stamped and        sent as requested.

1. The Scanner Module

The Scanner Module provides access to diagnostic information andprocedures available through a vehicle controller using a predeterminedprotocol, such as OBD II. The scanner supports a standard set of deviceidentification, clock synchronization functions, and device maintenancefunctions.

2. Oscilloscope Module

The Oscilloscope Module has to conform to the general instrumentarchitecture described above. The scanner module needs to support astandard set of device identification, clock synchronization functions,and device maintenance functions.

Exemplary Hardware Specification

The hardware of the integrated diagnostic system is a custom-built handheld computer featuring a Motorola PowerPC based CPU with supportingRAM, EPROM, and FLASH memory. User interface facilities include 640×480VGA flat screen display, an embedded pointing device, Y/N buttons, andscreen control buttons. A 10 base T Ethernet adapter, USB port, RS232Port, Cardbus (PCMCIA) slot, and IRDA emitter/receiver are alsoincluded.

Exemplary Software Specification

The reliability of the integrated diagnostic system platform is enhancedthrough the use of CPU memory models that limit memory access betweenactive processes. Software developed for environments such as this mustmaintain a clean separation between user or application mode program andsystem or protected mode code. Application logic executes in user modewhere the effect of any anomalous behavior can be limited. Low-levelhardware access must be performed within system code such as devicedrivers.

Communications between a diagnostic application and vehicle measurementinstruments is based on standard QNX I/O streams. Once connection isestablished, a device stream is used for devices connected throughproprietary module interface and for USB devices. A TCP stream is usedfor TCP-IP devices in order to ensure data integrity.

The Instrument Network Manager in the Integrated diagnostic systemhandheld provides a centralized repository for information about theinstrument network. It builds and maintains a list of available devicesso that applications may customize their operation based on theavailable data acquisition instruments. If also provides functions thatwill establish a connection to an available instrument of a specifiedclass, product type, or product id.

Vehicle Identification

This interface is similar to selecting a vehicle from the list of recentvehicles, but instead of listing recent vehicles a list of open repairorders is obtained form the Shop Management server and presented to theuser. When the user selects an open repair order, the vehicleinformation is obtained from the shop management severs and used toidentify the vehicle to the diagnostic application. Any additionalinformation necessary to identify the vehicle sufficiently to run adiagnostic procedure is obtained from the used and sent back to the shopmanagement system where it is recorded in the vehicle's history records.

Result Storage

When a vehicle has been identified from an open work order, theintegrated diagnostic system diagnostic unit can send results to theshop management server which will be associated with that work order.Any results that are sent to the shop management server must haveassociated with them a viewer. This viewer runs in the windowsenvironment, displays and prints those results.

User Interface

The integrated diagnostic system uses a user-friendly interface toprovide easy navigation and intuitive operation. An exemplary userinterface is described in Appendix 1.

FIG. 4 shows an exemplary screen display 30 with an illustrativewaveform obtained by an oscilloscope module. The screen display 30 isset up in a single-trace display mode, so that it has a singlerectangular waveform plot area 31 for displaying a waveform, such as awaveform 43, along a horizontal axis or trace. Displayed below thewaveform plot area 31 is a control panel area 32, including a number oficons and indicators in rectangular boxes in which text or other indiciamay be displayed.

The lowermost row has a scope mode indicator 33, which indicates theselected operation mode of the integrated diagnostic system. In thiscase, the indicated mode is oscilloscope.

The control panel area 32 includes control buttons, such as a Signalicon 35, which includes boxes 35 a and 35 b respectively indicating thesignals displayed in the two traces of the dual-trace display scope whenit is in dual-scope mode. In each of these boxes, the user can selectfrom a plurality of different signal options, with different optionsrespectively corresponding to different ones of the signal pickup leads12. In this case, the signal displayed on the first trace is the signalappearing on the “Pinpoint 1” lead. For the box 35 b, one of theavailable options is “OFF”. When this option is selected, as in FIG. 4,the second trace is OFF, so that the scope is operating in single-tracemode.

FIG. 4 shows several other control buttons: Pattern/Sweep icon 36, whichindicates a 250 ms fixed-time sweep, Time indicia 37, which indicatesthe sweep time scale, a Scale icon 38, which indicates the scale of theplot area 31 along the vertical axis, and a Frame select icon 41, whichis used to select the frame of waveform, data currently displayed on thescreen.

Each of the icons in the screen display 30 represents a control button.The icons 35, 36, 38 and 41 may be associated with a list of a pluralityof switch options. Each switch assumes one of these options at a giventime. The icon box may be considered to be a “window” in which isdisplayed the indicium corresponding to the currently-selected switchoption.

Control keys are provided for users to input direction control. Usersuse the control keys to move a cursor on the display, or move a userselection to toggle between different display frames or functionbuttons. Examples of the control keys are up/down/left/right keys, touchpads, joy sticks, touch points, and the like. The following exampledescribes the operation of the user interface when the user usesleft/right/up/down arrow keys to toggle between the function buttons toselect desired function buttons. A user selection of one of the functionbuttons may be represented by highlighting the frame of selected button,changing the color of the selected button, or displaying the selectedbutton is a way different from other buttons and the like.

In order to manipulate one of the icon switches represented by the icons35, 36, 38 and 41 the icon must first be designated as currently active,rendering active the switch or switches represented by the icon. Onlyone icon is active at a given time. The active icon is indicated byemphasizing it, i.e., by an intensified border drawn around the iconbox. For example, in FIG. 4 the box for the Frame select icon 41 isemphasized, indicating that it is active. A non-active icon is activatedwith the mouse 22 by placing the mouse cursor 42 on the icon anddepressing the left mouse button 26. Once the icon is active, clickingthe mouse button 26 will incrementally index the list of options in theforward direction, with one step or switch option for each click of themouse 22. (In the case of the Frame select icon 41, only the integralnumber part 48 of the frame number can be click indexed in this manner.)

Some of the function buttons may correspond to a plurality of indiciathat are assignable to the function keys. Only one indicia is shown at atime. The indicia may correspond to functions or values that areassignable to the function button.

As can be seen in FIG. 4, the waveform 43 is made up of the digitizedwaveform data in frame −45.00, as is indicated in the Frame select icon41. There is a plurality of values that can be assigned to icon 41.

The integrated diagnostic system employs a two mode operation to changeassigned value or function to the function buttons: a normal mode and ashort-cut mode. When using the normal mode operation, the user usesleft/right arrow key to move the user selection to icon 41 and capturesicon 41. The user then presses a “Y” key to confirm selection of theicon 41. In response, a list of assignable values to icon 41 will beshown. The user can then use the up/down arrow key to change the valueassigned to icon 41. Upon the user finds the desired new value, the userwill press the “Y” key again to confirm change and selection.

Alternatively, the user can use the short-cut mode to make selections.Under the shortcut mode, the user uses left/right arrow key to move theuser selection to icon 41 and captures icon 41. The user then uses theup/down arrow key to change the value assigned to icon 41. Each up/downstroke may correspond to a value or function assignable to icon 41. Asshown in FIG. 5, the user uses the up/down arrow key to change the valueof icon 41 from −45 to −10. As soon as the new value is shown on icon41, the integrated diagnostic system changes the display according tothe new assigned value.

Since during the reassignment of the values, the user is not required topush a “Y” key or “Enter” key to bring up a list and another key stroke,such as “Y” again, to confirm selection of the new assigned value, theuser saves several key strokes in selecting a new value. In addition,since the effects of the newly assigned value is executed by the systemalmost immediately, the user can observe if the change fits his needsand determine if another new value is required. The same control applieswhen assigning new functions to a function button. As soon as the newfunction name is shown or selected, the system executes thecorresponding functions immediately without the need of confirmationsfrom the user.

According to another embodiment, the integrated diagnostic systemprovides a user interface using a new mechanism for users to navigatethrough the user interface using direction control keys. The userinterface includes a plurality of control buttons arranged in horizontalrows. As described above, a control button may include a list offunctions executable by the system or assignable values for a certainfunction. Some functions in the list may further launch another list tosolicit user selections.

The user uses the left/right arrow keys to move a user selection betweenthe control buttons. Upon the user selection is moved to the desiredbutton, with proper time delay, the list corresponding to that controlbuttons is brought up automatically without any additional key strokes.The user may then use the up/down arrow key to toggle between listeditems. Some of the items may contain a sub-list that further listsavailable selections. If the user moves focus on one of such items, thesub-list will be open up automatically without requiring any further keystrokes. Whenever a list is opened up, pressing the left key may bedesignated as to close the list.

If the control button corresponds to a single function or if an item infocus does not have a sub-list, pressing the right arrow key will enterselection of that function or item.

According to the navigation methodology as described above, since thenavigation of the user interface does not use keys other than thedirection control keys, navigation is made easy without unnecessaryfinger movement. In addition, only limited key strokes are used to makeuser selections. Thus, an user interface with easy and friendlynavigation experience is achieved.

Although the above exemplary embodiments are discussed by usinghorizontally arranged control buttons and left/right arrow keys to movebetween control buttons and up/down key to navigation or indicateselections, the same methodology may apply to vertically arrangedcontrol buttons with the exception that the user uses the up/down arrowkey to toggle between function buttons.

A flow chart illustrating the navigation methodology is shown in FIGS.6A-6C.

Embodiments discussed above also apply to distributing numerous types ofdata, for example, service data for different types of systems, such asautomobile, motorcycles, airplanes, powerboats, machines, equipment,etc. Other types of data may include testing process, expert database,software applications, drivers, update files, etc. Those skilled in theart will recognize, or be able to ascertain using no more than routineexperimentation, many equivalents to the specific embodimentsspecifically described herein. Such equivalents are intended to beencompassed in the scope of the following claims.

1. A data processing system, comprising: a processor for processing data; a display; a first control key for moving a user selection in a first direction on a display; a second control key for moving the user selection in a second direction on the display; a data storage device bearing instructions to cause the system upon execution of the instructions by the processor to perform the steps of: displaying a plurality of buttons on the display, wherein one of the buttons is associated with a plurality of options; receiving a first signal representing depression of the first control key moving the user selection to the button associated with the plurality of options; subsequent to receiving the first signal, receiving a second signal representing depression of the second control key when the user selection being moved to the button associated with the plurality of options; and responsive to the second signal representing depression of the second control key moving the user selection from a first one of the options to a second one of the options to select the second one of the options, automatically executing the selected one of the plurality of options without the need for any further user actions.
 2. The system of claim 1, wherein responsive to each depression of the second control key, one of the plurality of options is selected.
 3. The system of claim 2, wherein the selected option is associated with a function.
 4. The system of claim 3, wherein the function associated with the selected option is activated in response to the depression of the second control key.
 5. The system of claim 2, wherein the selected option is associated with a setting.
 6. The system of claim 1, wherein the steps are sequentially performed.
 7. The system of claim 4, wherein the option, once activated, display a list of additional options associated with the activated option.
 8. In a data processing system including a first control key for moving a user selection in a first direction on a display, and a second control key for moving the user selection in a second direction on the display, a method for controlling the data processing system including the steps of: displaying a plurality of buttons on the display, wherein one of the buttons is associated with a plurality of options; receiving a first signal representing depression of the first control key moving the user selection to the button associated with the plurality of options; subsequent to receiving the first signal, receiving a second signal representing depression of the second control key when the user selection being moved to the button associated with the plurality of options; and responsive to the second signal representing depression of the second control key moving the user selection from a first one of the options to a second one of the options to select the second one of the options, automatically executing the selected one of the plurality of options without the need for any further user actions.
 9. The method of claim 8, wherein responsive to each depression of the second control key, one of the plurality of options is selected.
 10. The method of claim 9, wherein the selected option is associated with a function.
 11. The method of claim 10, wherein the function associated with the selected option is activated in response to the depression of the second control key.
 12. The method of claim 9, wherein the selected option is associated with a setting.
 13. The method of claim 8, wherein the steps are sequentially performed.
 14. A data storage device bearing instructions to cause a data processing system, upon execution of the instructions, to perform the steps of: receiving signals generated by a first control key of the data processing system for moving a user selection in a first direction on a display; receiving signals generated by a second control key for moving the user selection in a second direction on the display; displaying a plurality of buttons on the display, wherein one of the buttons is associated with a plurality of options; receiving a first signal representing depression of the first control key moving the user selection to the button associated with the plurality of options; subsequently to receiving the first signal, receiving a second signal representing depression of the second control key when the user selection being moved to the button associated with the plurality of options; and responsive to the second signal representing depression of the second control key moving the user selection from a first one of the options to a second one of the options to select the second one of the options, automatically executing the selected one of the plurality of options without the need for any further user actions. 